import { voipCall } from '@kit.CallServiceKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

export class VoipCallUtil {
  static callId: string | undefined;

  static init(callId: string) {
    VoipCallUtil.callId = callId;
  }

  static async reportCallStateChange(callState: voipCall.VoipCallState): Promise<void> {
    if (VoipCallUtil.callId) {
      await voipCall.reportCallStateChange(VoipCallUtil.callId, callState);
      if (callState === voipCall.VoipCallState.VOIP_CALL_STATE_DISCONNECTED) {
        hilog.info(0x0000, 'VOIPTestTag', 'Call end, reset callId');
        VoipCallUtil.callId = undefined;
      }
    } else {
      hilog.info(0x0000, 'VOIPTestTag', 'CallId is undefined');
    }
  }
}